<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>05_v-cloak</title>
    <style>
        [v-cloak] {
            display: none;
        }
    </style>
</head>

<body>
    <div id="app" v-cloak>
        {{message}}
    </div>
</body>
<script src="../vue.js"></script>
<script>
    /**
     *  标签是先加载的,由于vue 加载延迟一点,就会导致一个问题, 当网速很慢的时候,就会先显示 div 标签的内容（{{message}}）
     *  等加载Vue好了,就会显示 message里的内容. 问题来了，如何解决呢，就是用v-cloak 指令,然后调用样式直接删除.缺点: 需要编写 css 样式
     * 
     *  v-cloak: 这个指令可以隐藏未编译的 Mustache 标签 ( 即{{}} 标签) 直到实例准备完毕
     * 
     *  vue 解析之前, div 中有一个 v-cloak 属性; vue 解析之后, div 中没有了
     */
    setTimeout(function() {
        const app = new Vue({
            el: '#app',
            data: {
                message: '你好呀~'
            }
        })
    }, 1000)
</script>

</html>